var util = require('../../utils/util.js');
var WXBizDataCrypt = require('../../crypto/WXBizDataCrypt.js');
var config = require('../../config.js');
let app = getApp();
let url = app.url;
let gobalData = app.gobalData;
// 存储用户信息
let userInfo = {};
userInfo.city = gobalData.city;
Component({
	/**
	 * 组件的属性列表
	 */
	properties: {
		// 判断是否为毛坯验房开始
		isTema: {
			type: String,
			value: null
		},
		groupActivityId: {
			type: String,
			value: null
		},
		groupFoundId: {
			type: String,
			value: null
		},
		// 判断是否为毛坯验房结束
		// 判断共享账单开始
		shareId: {
			type: String,
			value: null
		},
		isBind: {
			type: String,
			value: null
		},
		// 判断共享账单结束
		hasFlag: {
			type: Boolean,
			value: true,
		},
		// 接收预留邀请好友注册接口
		leaderId: {
			type: null,
			value: null
		}
	},

	/**
	 * 组件的初始数据
	 */
	data: {
		showModal: false,
		empowerFlag: false
	},
	created() {
		setTimeout(() => {
			util(`${url}user/login`, {
				openid: gobalData.openid
			}).then(res => {
				if (res.status == 1) {
					wx.setStorage({
						key: 'userInfo',
						data: res.content
					})
					config.idFlag = true;
					// 判断毛坯验房组队
					if (parseInt(this.data.isTema) == 1) {
						this.triggerEvent('temaTrue', true);
// 						setTimeout(() => {
// 							util(`${url}groupFound/addGroupFollow`, {
// 								cid: wx.getStorageSync('userInfo').userInfo.id,
// 								groupActivityId: this.data.groupActivityId,
// 								groupFoundId: this.data.groupFoundId
// 							}).then(res => {
// 								if (res.status == 1) {
// 									wx.showToast({
// 										title: '组队成功！'
// 									})
// 									this.triggerEvent('temaTrue', true);
// 								} else {
// 									wx.showToast({
// 										title: res.msg,
// 										icon: "none"
// 									})
// 								}
// 							})
// 						}, 3000)
					}
					// 判断共享账单
					let self = this;
					if (parseInt(this.data.isBind) == 1) {
						wx.showModal({
							title: '共享账本',
							content: '加入共享账本后，您之前的账本将被清空~',
							success(res) {
								if (res.confirm) {
									setTimeout(() => {
										util(`${url}billing/joinBilling`, {
											shareId: self.data.shareId,
											joinId: wx.getStorageSync('userInfo').userInfo.id
										}).then(res => {
											if (res.status == 1) {
												self.triggerEvent('shareSuccess', res);
											} else {
												wx.showToast({
													title: res.msg,
													icon: 'none'
												})
											}
										})
									}, 1500)
								} else if (res.cancel) {

								}
							}
						})
					}
				} else {
					// 如果没有注册，让客户先注册,弹出注册框
					this.triggerEvent('iptFlag', false);
					this.showModal();
				}
			})
		}, 1000)
	},
	/**
	 * 组件的方法列表
	 */
	methods: {
		// 显示模态对话框
		showModal: function() {
			this.setData({
				showModal: true
			});
		},
		// 隐藏模态对话框
		hideModal: function() {
			this.setData({
				showModal: false
			});
		},
		toggleEmpowerTwo() {
			this.setData({
				empowerFlag: true
			})
		},
		goEmpower: function() {
			this.setData({
				showModal: true
			})
		},
		// 跳转到短信验证界面
		goshortMessage() {
			wx.navigateTo({
				url: "/pages/shortMessage/index"
			})
		},
		// 获取用户信息
		onGetUserInfo: function(e) {
			if (e.detail.errMsg == 'getUserInfo:fail auth deny') {
				wx.showModal({
					title: '提示',
					showCancel: false,
					content: '您取消了授权',
				})
			} else {
				// 获取用户信息  存储后台需要的数据
				userInfo.name = gobalData.name = e.detail.userInfo.nickName;
				userInfo.gender = gobalData.gender = e.detail.userInfo.gender;
				userInfo.avatar = gobalData.avatar = e.detail.userInfo.avatarUrl;
				userInfo.openid = gobalData.openid;
				if (gobalData.name != "" && gobalData.gender != "" && gobalData.avatar != "") {
					this.setData({
						empowerFlag: true
					})
				}
			}

		},
		// 获取用户手机号
		onGetPhoneNumber: function(e) {
			let self = this;
			if (this.data.empowerFlag == false) {
				wx.showToast({
					title: '授权失败\n请先操作上一步',
					icon: 'none'
				})
			} else {
				if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
					wx.showModal({
						title: '提示',
						showCancel: false,
						content: '您取消了授权',
						success: function(res) {}
					})
				} else {
					setTimeout(() => {
						// 用户同意授权   ---解密手机号
						var pc = new WXBizDataCrypt(gobalData.appId, gobalData.session_key)
						var data = pc.decryptData(e.detail.encryptedData, e.detail.iv)
						// console.log('解密后 data: ', data); //解密手机号
						// 将获取到的手机号存储起来
						gobalData.mobile = data.phoneNumber;
						userInfo.mobile = gobalData.mobile;
						// 将数据发送给后台进行注册--------------------------------------------------------------------------------------------------
						userInfo.leaderId = self.data.leaderId; //存储邀请好友的id
						userInfo.registerType = 1;   // 微信一键授权登录
						util(`${url}user/register`, userInfo).then(res => {
							if (res.status == 1) {
								wx.showToast({
									title: '注册成功！'
								})
								// 关闭模态框
								this.hideModal();
								config.idFlag = true;
								// 存储到当前页面
								this.setData({
									userInfo: userInfo,
									showModal: false
								})
								this.triggerEvent('userData', res);
								this.triggerEvent('iptFlag', true);
								// 保存到缓存
								wx.setStorage({
									key: 'userInfo',
									data: res.content
								})
								gobalData.cid = res.content.userInfo.id;
								// 判断毛坯验房组队
								if (parseInt(this.data.isTema) == 1) {
									this.triggerEvent('temaTrue', true); // 告诉父组件拼团结果
// 									wx.showLoading({
// 										title: '正在为您组队...'
// 									})
// 									setTimeout(() => {
// 										util(`${url}groupFound/addGroupFollow`, {
// 											cid: wx.getStorageSync('userInfo').userInfo.id,
// 											groupActivityId: this.data.groupActivityId,
// 											groupFoundId: this.data.groupFoundId
// 										}).then(res => {
// 											if (res.status == 1) {
// 												wx.hideLoading()
// 												wx.showToast({
// 													title: '组队成功！'
// 												})
// 												this.triggerEvent('temaTrue', true); // 告诉父组件拼团结果
// 											} else {
// 												wx.hideLoading()
// 												wx.showToast({
// 													title: res.msg,
// 													icon: "none"
// 												})
// 											}
// 										})
// 									}, 1500)
								}

								// 判断共享账单
								if (parseInt(this.data.isBind) == 1) {
									setTimeout(() => {
										util(`${url}billing/joinBilling`, {
											shareId: this.data.shareId,
											joinId: wx.getStorageSync('userInfo').userInfo.id
										}).then(res => {

											if (res.status == 1) {
												this.triggerEvent('shareSuccess', res);
											} else {
												wx.showToast({
													title: res.msg,
													icon: 'none'
												})
											}

										})
									}, 1000)
								}


								// 已经注册过。-------  可删除，99.99%不会出现这种情况
							} else if (res.msg == '你已经注册！') {
								util(`${url}user/login`, {
									openid: gobalData.openid
								}).then(res => {
									wx.setStorage({
										key: 'userInfo',
										data: res.content
									})
									this.setData({
										userInfo: userInfo,
										showModal: false
									})
									gobalData.cid = res.content.userInfo.id
								})
								// 其它未知错误---- 跳转都短信验证界面
							} else {
								wx.navigateTo({
									url: "/pages/shortMessage/index"
								})
							}
						})
					}, 1000)

				}
			}
		},


	}
})
